Copyright: Zandata 1994, All rights reserved.


EWAN help
Ewan help file

Read me first!

Frequently asked questions (FAQ)

Support, trademarks, copyrights and other legal stuff

Version history

General topics

•	The sitelist

•	Configurations

•	About the keyboard

•	Creating keyboard redefinition files

•	Creating input remapping files

•	Mouse and mouse buttons

•	Using the clipboard

•	Using the scroll back

•	Syntax of command line arguments

•	Telnet support

•	VT100 emulation

Dialogs

•	New site

•	Sitelist "Open configuration"

•	Screen options

Enjoy!

The latest version should be available 24 hrs a day, 7 days a week from:

http://www.lysator.liu.se/~zander/ewan.html	If you like WWW

ftp.lysator.liu.se  /pub/msdos/windows	If you prefer FTP

I would like to thank all the people out there who send me great, constructive feedback.

And Borland for creating the most inspiring compiler of them all: Borland Pascal.

Peter Zander	<zander@lysator.liu.se>


Readme
Before you start

EWAN is a winsock 1.1 compatible application. To be able to use a winsock application you need a TCP/IP stack. If you use Windows for Workgroups you can use the free TCP/IP add on available from ftp.microsoft.com. If you use Win 3.1 there is a number of commercially available TCP/IP stacks. You can also try the shareware Trumpet winsock. Future versions (Windows95) of Windows will probably also be bundled with a winsock compatible TCP/IP stack, as does current versions of MS Windows NT.

FTP Software is distributing a "winsock.dll" update for their TCP/IP stack. This DLL will not let you use this program unless their TCP/IP stack is already installed on your machine.

Rumour says the NCSA winsock does not support the asynchronous winsock APIs. This would make EWAN impossible to run if true. Don't take my word for it since I have never tested it, but it you run into problems with their stack this might be the problem.

Novell's winsock needs the file "NOVASYNC.EXE" to work with Ewan and other winsock programs that use the asynchronous winsock API.

First start-up

First a dialog with stored site names will be shown. Since this is the first time you run Ewan, it will be empty.

Click New. Enter information about the first site and click OK. Try to connect by double clicking the entry in the list box, or highlight it and press Enter ( or click "OK" ).

Reporting emulation bugs

If you find some strange behaviour, screens that look wrong, capture the part of the session with File/Open capture file, make the operation that makes the error show, Close the capture file with File/Close capture file, and mail it (MIME or UUEncoded) to <zander@lysator.liu.se>.


Using the keyboard
Keyboard

The only keys redefined by this program are:

In "Scroll Lock" mode, unshifted:

End	Brings you to the end of the scroll back buffer and resets "Scroll lock"

PageUp	Set scroll lock and start viewing one page up.

PageDown	Set scroll lock and start viewing one page down.

Unshifted:

Scroll Lock	Toggle scroll lock

Arrows	If scroll lock is on it will move you around in buffer, otherwise it will send arrow key sequences for current emulation.

and cannot be altered by keymaps or DLLs.

All keys on the keyboard (except for the keys listed above) can be redefined using keyboard redefinition files that can be associated with each configuration.

Cut and paste is not defined as Ctrl-C and Ctrl-V as they is used by many programs like GNU Emacs.


Redefining keys

Most keys on the keyboard are possible to redefine. They can be made to send a character or sequence of characters.

The "keymap editor" accessed from the menu Options/Edit keymap files can create and edit keymap files.

In the configuration dialog Options/Configuration.../Keyboard..., files with the ".KEY" extension will be shown in the list box. If the first line is a comment (that is: the first character on the line is a semicolon ";") it is showed in the list box with the filename.

Lines in .KEY files should look like this:

[Shift keys]	Virtual_keycode	string_to_send

Shift keys are one or more of:

A	Alt

C	Control

S	Shift

E	Extended keycode

Virtual_keycode

is the value of windows virtual key code for the key, or the name as used by the SDK.

string_to_send

is the character(s) to be sent when the key is pressed. Leading and tailing quotations are removed if present. The string can contain escaped characters.

Extended keycodes are used to differentiate between different keys with the same function, like the normal "Return" key and the "Enter" key on the numerical keypad. Both return VK_RETURN, but the key on the numerical keypad is a extended key.

The grey Insert, Home, PgUp, Del, End and PgDn on a 102 key keyboard is also extended keys.

The "Keyboard sampler" function in the keymap editor will detect if a extended key is pressed.

Example:

[SC]	vk_insert	"Insert ^G was ^G pressed"

See also the bundled .KEY files.


Virtual key code names

vk_0

vk_1

vk_2

vk_3

vk_4

vk_5

vk_6

vk_7

vk_8

vk_9

vk_a

vk_add

vk_b

vk_back

vk_c

vk_cancel

vk_capital

vk_clear

vk_control

vk_d

vk_decimal

vk_delete

vk_divide

vk_down

vk_e

vk_end

vk_escape

vk_execute

vk_f

vk_f1

vk_f10

vk_f11

vk_f12

vk_f13

vk_f14

vk_f15

vk_f16

vk_f17

vk_f18

vk_f19

vk_f2

vk_f20

vk_f21

vk_f22

vk_f23

vk_f24

vk_f3

vk_f4

vk_f5

vk_f6

vk_f7

vk_f8

vk_f9

vk_g

vk_h

vk_help

vk_home

vk_i

vk_insert

vk_j

vk_k

vk_l

vk_lbutton

vk_left

vk_m

vk_mbutton

vk_menu

vk_multiply

vk_n

vk_next

vk_numlock

vk_numpad0

vk_numpad1

vk_numpad2

vk_numpad3

vk_numpad4

vk_numpad5

vk_numpad6

vk_numpad7

vk_numpad8

vk_numpad9

vk_o

vk_p

vk_pause

vk_print

vk_prior

vk_q

vk_r

vk_rbutton

vk_return

vk_right

vk_s

vk_scroll

vk_select

vk_separator

vk_shift

vk_snapshot

vk_space

vk_subtract

vk_t

vk_tab

vk_u

vk_up

vk_v

vk_w

vk_x

vk_y

vk_z


Input filter

The input filter will translate incoming characters.

Files with the ".ICM" extension will be shown in the list box. If the first line is a comment (that is: the first character on the line is a semicolon ";") it is showed in the list box with the filename.

Each non comment line is considered a input translation and should look like this:

Character_to_be_remapped	[tab|SPC]*	New_character

Both Character_to_be_remapped and New_character can be escaped.

To translate the character ";" (semicolon) to a "^" the line would look like this:

\;	\^


Mouse and mouse buttons

Marking a block

To mark a block of text, press and hold down the left mouse button. If the cursor is dragged outside the Windows boundaries the viewport will start to scroll.

See also:

Copy/Paste

Bringing up the popup menu

If you click the right mouse button, anywhere within the client area a popup version of the main menu will show. This is how you access the menu when the main menu is disabled in the dialog Options/Configuration/Screen....


Copy/Paste

To copy a part off the screen, mark it with the mouse. While marking the scrolling of the window is disabled, but you can make it scroll by dragging the cursor outside the window.

To copy it to the clipboard choose Edit/Copy from the menu or press Ctrl-Ins.

To paste, press Shift-Ins.

Cut and paste is not accessed as Ctrl-C and Ctrl-V as they is used by many programs like GNU Emacs.


Scroll back

The scroll back is a bit different from other terminal programs. If you press Scroll lock it will prevent further scrolling of the screen. But the screen will still be updated, so if the lower part of your screen show the "real" screen and the upper shows the scroll back the lower part might change while you browse through the scroll back.

To make the terminal work as usual press End or Scroll Lock.

Se also:

Using the keyboard


Command line arguments

A site name and port can now be given at start-up. The syntax is:

ewan [-c configuration_name ] host port

or

ewan [-c configuration_name ]  host:port

or

ewan [-c configuration_name ]  telnet://host.name.here:port[/ignored]

"Host" refers to an IP address (like 192.165.120.133) or a host name (hobbe.rydnet.lysator.liu.se).

If an IP number is supplied, no DNS-lookup is made.

Port is the port number or the service name.

If a port number is not given "Telnet" is assumed and translated to a port number using the file "services".

Example: To connect to my.server.net using the configuration "*default*" on port 1020, the command line would look like this:

ewan -c *default* my.server.net 1020


Telnet

The Telnet layer is invisible in this implementation. It has support for local echo, NAWS and emulation negotiation.

•	NAWS

Abbreviation for "Negotiate About Window Size". Defined in RFC-1073. Only newer Telnet daemons support this. If it does not seem to work on your system, talk with your system administrator or install a newer version of the telnetd.

Negotiated at start-up by the remote side or by Ewan if the window is resized.

•	Local echo

Usually requested by the host at start-up.

•	Emulation negotiation

Supported by most Telnet daemons. Negotiation is most likely to occur on start-up on a request from the host. Defined in RFC-1091.


Screen options

•	Columns

The number of columns on the emulated screen. Max value: 132

•	Lines

The number of lines on the emulated screen. Max value: 5000

•	Lines in scroll back

The number of lines stored in memory. The screen is the last lines of the scroll back so if the screen becomes larger than the scroll back, the numbers of lines in the scroll back will increase to be able to store at least one screen.

Show:

•	Windows caption

The topmost part of all normal Windows, containing the system menu and name of the window.

•	Menu

The normal Windows menu below the caption.

•	Vertical scrollbar

This scrollbar is used to move around in the scroll back buffer. Under no circumstance is the emulated screen larger than the window, so there will never be "ordinary" scroll bars to view different parts of the active screen.

•	Status line

The grey bar at the bottom of the window.

Resize:

• Screen (Was "Fixed font size")

If checked, the screen will resize as a result of resize the window. The font size is not altered. If the remote Telnet deamon support NAWS, the host is informed of the new screen size.

• Font (Was "Fixed srcreen size")

If checked, the font is resized when the window is resized to try to fill the new area of the screen with an emulated screen size as set in rows/columns. The emulated screen size is not altered. This is useful if the remote side always expect the screen to be of a particular size (i.e. 80x24).


Site list

Buttons:

•	New

Create a new configuration. Brings up the same dialog as the menu File/New...

•	Edit

Edit the selected configuration. Brings up the same dialog as the menu File/New... with the information from the selected site in the list.

•	Delete

Deletes the selected site/configuration.

You can choose from two site lists in the File/Open... dialog.

The list box will change when you press the radio buttons "Private sitelist" and "Shared sitelist". The directories to hold these lists can be defined under Options/Directories....

To open a connection without saving it to the sitelist, choose "New" from the file menu, enter the information and press OK. Press Alt-C to connect. If you want to add this setup to the sitelist choose Save from the File menu.

Each sitelist entry is associated with a configuration that controls the behaviour of the program and its emulation.

To save a sitelist entry with its configuration use File/Save.


Frequently Asked Questions (FAQ)

CTL3DV2.DLL

It will fail to load if it is found in any other directory than Windows/system.

Remove it from all other directories!

If you run in a network and is uncertain what your Windows directory is, start a DOS shell and type "set"<enter> The variable "windir" points to the Windows directory.

FONTS

EWAN will try to maximise the font size to fit in the current window using defined emulated "screen size" if Resize font option is set.

To make fonts smaller:

Choose a larger emulated screen ( Like 130 columns 40 rows)

Make the window smaller.

To make fonts bigger:

Choose a smaller emulated screen ( Like 40 columns 10 rows)

Make the window bigger.

Remove window space consuming things like menus, scroll bars, caption and status bar.

Note that not all fonts can be resized. If you have chosen a font that is fixed sized, the emulated screen can become larger than the desktop. This will make bottom and right parts of the screen disappear.

Choose a sizeable font or reduce emulated screen width.

Only fixed pitch fonts like "Courier New" can be used. Other fonts would make the text on the screen unreadable.

THE WINDOW SIZE CHANGE EVERY TIME I START EWAN

The look of the window and screen is defined by the configuration that is currently in use.

The configuration *defualt* is loaded and realized on startup if the command line argument '-c' is not given. If a site from the sitelist is opened, the configuration associated with this site will be loaded.

To make EWAN look the same each time you connect to a site, do this:

If desired, create a new configuration using Options/Edit configurations....

Create the sitelist entry using "New" in the open sitelist dialog. Select a configuration for the site.

Connect to the site. Choose the desired fonts and screen options in Options/Current: Configuration.... Resize and position the window. Execute File/Save in the menu. The site options an associated configuration will be stored.

All sitelist entries using this configuration will look and feel the same from now on.

In the future just select this configuration for new sites to reuse the settings.

TELNET TERMINAL NEGOTIATION

Is now supported.

On UNIX machines it seems to be a custom not to follow terminal naming as defined in RFC 1340. Therefore I have made it possible to change the name reported to the remote computer. You can alter this name in Options/Current: Configuration/Emulation options....

The predefined configuration "UNIX" makes the VT100 emulation report "vt100" as the emulation.

The default name for VT100 is "DEC-VT100" as stated in RFC 1340.

USING EWAN AS A MOSAIC BROWSER

For Mosaic use this setup in mosaic.ini:

[Viewers]

telnet="c:\full\path\here\ewan.exe"

Connecting to multiple hosts

Just start the program again and a second instance of the program will start.

EWAN is not a MDI application. This is a design decision. If you have any good arguments for using MDI, please mail it to me. Here are some problems with MDI:

It will look strange if new windows is started from external browsers.

It will not save much memory. The size of the scrollback is more important.

MDI will limit where you can put the windows on the screen.

TAB

Tabs now work correctly.

In some environments the remote computer (like UNIX) might expand TABs to SPCs.

In Unix something like "stty TAB0" or "stty tabs" (depending of flavour of UNIX, there are probably UNIX systems on which neither of these will work.) will end TAB expansion.


Legal stuff

EWAN is freeware. For more details see the legal notice.

If you use EWAN and want to support the development you can buy email support for it at a cost of $495 (USD) per year. I encourage companies, government and other organisations to pay. My address and SWIFT bankcode is:

Zandata, Peter Zander

Rydsvägen 258A:21

582 51 LINKÖPING, Sweden

By banks SWIFT code: NBBKSESS

Account#: 3021 46 08964

Nordbanken

105 71 Stockholm, Sweden

My phone#:	+46-13-17 66 08

and supply the name of the organisation, a contact, address, phone number, email address in an email to:

zander@lysator.liu.se

Site information (size, #users, client and server hardware and software) would be of help too.

If possible use SWIFT payments and add the name of a contact with the payment. SWIFT is a co-operation between the bigger banks of the world to make international payments cheaper and more efficient. If you need a invoice, offer or other written paperwork: send me a email.

Cheques should be bank-cheques.

Om du befinner dig i Sverige så är det billigare och smidigare att sätta in 3500 SEK på postgiro 46 00 99-5. Skriv i kommentarsfältet att det gäller support på EWAN och samma information som ovan.


Versions
History

Ver 1.052	Jan. 17 1995 ewan1052.zip

Just a bugfix with improved emulation and keyboad support.

Ver 1.05	Dec. 21 1994 ewan105.zip

Fixes some bugs in 1.04

Keymap editor

Less modal dialogs

Configurable pronter font

Font previews

Ver 1.04	Nov. 23 1994 ewan104.zip

Telnet NAWS (Negotiate About Window Size) support.

Fixed screen or font size

Resizeable scroll back size

Pass through print support

Print screen or scroll back

Load configuration from command line ("-c")

Keyboard user configurable

Translation table for incoming characters

Colours in the VT100 emulation is configurable

Optimised palette to get solid colours on palette devices

Ver 1.03	Aug. 21 1994 ewan103.zip

Fixes some stupid bugs

Reported emulation name is saved in each configuration

Scroll regions updated when emulated screen size changes

Ctrl-SPC sends NUL ("Set mark" in emacs)

Ver 1.02	Aug. 19 1994 ewan102.zip

Each sitelist entry has a unique configuration.

Blinking text is made red in the VT100 emulation.

Bold fonts size more accurately.

Bug in installation program fixed. Installation from floppy is now possible.

No DNS lookup is made if an IP number is supplied.

Bug in the Tenet emulation negotiation fixed. This fixes the local echo bug too, as well as the problems when connecting to certain hosts that require emulation negotiation.

Some support for line drawing character sets in VT100 emulation

ANSI emulation.

Ver 1.01	July 09 1994 ewan101.zip

Telnet emulation negotiation

Service name accepted as well as service number

More valid parameter formats

Less confusing font selection dialog

TABs behave correctly in the VT100 emulation

Behaviour at startup and disconnection user configurable

Install program.

Works better if run from other programs like NCSA Mosaic

Ver 1.0	June 15 1994 ewan10.zip

Memory leaks plugged

Total rewrite of display engine

Now supports

2^24 colours

Attributes:	Bold Italic Underline and Reverse

Uses user-configurable colours ( from Windows "Control panel" )

Auto scroll while selecting

Fonts try to resize horizontally too

Copy/Paste works as expected

Shared and private sitelist

Sitelist can be updated from opening dialog

More checks for incomplete program configuration

Ability to share DLLs over network

Version control of emulation DLLs

Can specify function keys combined with Ctrl and Alt to a total of 48 strings.

Most things get saved in configuration

IP numbers supported on command line

Terminal window will never cover status line

Popup menu (Main menu optional)

Caption, status line, in-window menu and vertical scrollbar are now optional.

Windows helpfile

CTL3D, 3D look, with Borland backgrounds

When possible, the window will try to resize to fit current font and screen size

A "LED" in the status line to indicate if a connection is established

Improved VT100 emulation

Errors with more detailed descriptions

Ver 0.1C	May 03 1994 ewan1c.zip

Mostly a bug fix.

Added command line interpreter.

Active configuration name in the window caption.

From now on packaged using pkzip.

Ver 0.1B	Apr. 28 1994 ewan1b.arj

Configurable function keys.

Capture file.

Ver 0.1A	Apr. 25 1994 ewan1a.arj

First release.


Escape sequences
Escaped strings and control characters

To be able to send special characters, Ewan uses the character '^' to specify a control character. To send char #1 or "Ctrl-A" you would type "^A" (Without the quotation marks).

A "\" (backslash) will make the next character to be taken literally. i.e. "\^"


Configurations

A configuration defines the behaviour and settings for a session. Each site in the sitelist can be associated with a configuration, and sessions initiated with command line parameters can specify what configuration to use with the -c flag (See command line arguments).

The current configuration is saved when Files/Save is selected along with the current sitelist entry.


New site dialog

Fields:

The first "Name" field is what you like to call the site with associated config. Like:

"My provider (ANSI)" or "Nemesis MUD"

"Network adress or host name" is the name or number of the computer to be connected to. Like 123.234.212.11 or my.providers.machine.name.com

"Service or port" is the name or # to connect to. The "Telnet" option will try to find the "telnet" service number in the file "services" provided by the TCP/IP stack. If "Custom" is checked the same can be done by entering "telnet" or "23" (the actual service # for telnet) in the edit box.

"Configuration" define how the different parts of the emulator will behave when connected to a site. Like what keymaps, colors and screen dimensions to use.


Legal notice

EWAN 1.05 is a noncomercial product. All documents, software and archives that is attached or included, hereafter referred to as EWAN, is protected by applicable copyright laws. EWAN is provided as is, without warranty of any kind or guaranties for fitness for a particular purpose, either expressed or implied, is hereby explicitly disclaimed.

You may freely distribute and copy EWAN as long as no fee is charged and the EWAN archive contains unmodified copies of the original files as produced by Zandata or Peter Zander. No part of EWAN may be modified, altered, reverse engineered, sold, or distributed in any form which would involve exchange of currency or sevices without prior written permission from Zandata.

In no event shall Zandata be liable to you or anyone else for any damages or costs, including, but not limited to, any lost profits, lost income, lost sanity, lost savings, lost information, loss of the right to use EWAN, or other incidental or consequential damages arising out of the use, inability to use, or as a consequence of failiure or refusal to use EWAN.

EWAN is trademark of Zandata. Zandata is a registered trademark. Other product names in this document and helpfile are trademarks or registered trademarks of their respective holders.


VT100 emulation

The numeric keypad supports both the vt100 nummeric and application modes.

As the comma ',' key on a VT100 keyboard is not present on a 101/102 key standard PC keyboard, it is simulated when Ctrl- + (plus) is pressed.

As the vt100 emulation redefine the unshifted numeric keypad, these keys cannot be redefined in a keymap file. Use Ctrl, Alt and/or Shift combinations if these keys need to be redefined. This is also true for the <- (backspace) key on the main keyboard ,Ctrl-backspace, Return/Enter keys and the arrow keys.